package com.jdd.modules.sdk.utils;

import com.sun.jna.Callback;
import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;

/**
 * 车牌信息回调
 */
public interface IPlateCallback extends Callback {
	/**
	 * @param pvParam          用户参数（输出）
	 * @param pcIP             设备IP（输出）
	 * @param pcNumber         车牌号码（输出）
	 * @param pcColor          车牌颜色（输出）
	 * @param pvPicData        全景抓拍图片缓冲区地址（输出）
	 * @param nPicLen          全景抓拍图片实际长度（输出）
	 * @param pvPlatePicData   车牌图片缓冲区地址（输出）
	 * @param nPlatePicLen     车牌图片实际长度（输出）
	 * @param nPlatePosLeft    车牌区域左上角横坐标（输出）
	 * @param nPlatePosTop     车牌区域左上角纵坐标（输出）
	 * @param nPlatePosRight   车牌区域右下角横坐标（输出）
	 * @param nPlatePosBottom  车牌区域右下角纵坐标（输出）
	 * @param fPlateConfidence 车牌打分值（输出）
	 * @param nVehicleColor    车身颜色，对应以下枚举值 (输出）
	 * @param nPlateType       车牌类型 (输出）
	 * @param nVehicleDir      车辆方向 (输出）
	 * @param nAlarmType       报警类型 (输出）
	 * @param nSpeed           速度 (输出）
	 * @param nCapTime         抓拍时间 (输出）
	 * @param nVehicleType     车辆类型 (输出）
	 * @param nResultHigh      车牌识别数据结构体指针高8位（64位sdk时使用）（输出）
	 * @param nResultLow       车牌识别数据结构体指针低8位 (输出）
	 */
	public void callback(Pointer pvParam, String pcIP, String pcNumber, String pcColor, Pointer pvPicData, NativeLong nPicLen,
						 Pointer pvPlatePicData, NativeLong nPlatePicLen, NativeLong nPlatePosLeft, NativeLong nPlatePosTop, NativeLong nPlatePosRight,
						 NativeLong nPlatePosBottom, float fPlateConfidence, NativeLong nVehicleColor, NativeLong nPlateType, NativeLong nVehicleDir,
						 NativeLong nAlarmType, NativeLong nSpeed, NativeLong nCapTime, NativeLong nVehicleType, NativeLong nResultHigh, NativeLong nResultLow);
}
